﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ilanver.Core.PersistenceSupport
{
    public interface IRepositoryWithTypedId<T1, T2>
    {
        T1 Get(T2 id);

        IList<T1> GetAll();

        IList<T1> FindAll(IDictionary<string, object> propertyValuePairs);

        T1 FindOne(Dictionary<string, object> propertyValuePairs);

        T1 SaveOrUpdate(T1 entity);

        void Delete(T1 entity);

        IDbContext DbContext { get; }
    }
}
